<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Sitemodel extends CI_Model {

    function __construct() {
        parent::__construct(); // On récupère le constructeur de la classe m-re (héritée)
    }

    function getAll() {
        $q = $this->db->select('*')->from('articles a')
        ->join('prices p', 'p.price_article_id = a.article_id', 'left')
        ->join('images i', 'i.image_article_id = a.article_id', 'left')
        ->order_by('a.article_id', 'desc')
        ->get();

        if ($q->num_rows() > 0) {
            foreach ($q->result() as $row) {
                $data[] = $row;
            }
            return $data;
        }
    }

    function getOne($article_id) {
        // On récupère un article
        $q = $this->db->select('*')->from('articles a')
        ->where('a.article_id', $article_id)
        ->join('prices p', 'p.price_article_id = a.article_id', 'left')
        ->join('images i', 'i.image_article_id = a.article_id', 'left')
        ->order_by('a.article_id', 'desc')
        ->get();

        if ($q->num_rows() > 0) {
            return $q->row();
        }
    }
    
    function signup($data){
        $this->db->insert('users', $data);
        return true;
    }
    
    // Se connecter
    function login($email, $password){
        $q = $this->db->get_where('users',array('email'=>$email, 'password'=>sha1(md5($password)))); // Une autre manière d'écrire une clause where / select
        if($q->num_rows()>0)
        {
            $row = $q->row();
            $session = array('lastname'=>$row->lastname,'logged'=>true); // On crée un session avec en session son nom
            $this->session->set_userdata($session); // On initialise la session
            return true;
        }
        return false;
    }
    
    function is_logged()
    {
        return $this->session->userdata('lastname') && $this->session->userdata('logged');
    }
    
    // Récupérer un user
    function get_user($param)
    {
        if(is_numeric($param)) // Si c'est par son id
        {
            $this->db->where('u.user_Id',$param); // On change la clause where
        }else{ // Sinon 
            $this->db->where('u.lastname',$param);
        }

        $q = $this->db->select('*')->from('users u')
        // La clause where est directement ajouté via le code au dessus
        ->join('countries c','u.user_country_id = c.country_id')
        ->get();
        if($q->num_rows()>0)
        {
            return $q->row();
        }
    }

}

?>
